package com.itheima.java.ai.langchin4j.server;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.java.ai.langchin4j.entity.DoctorSchedule;

import java.time.LocalDate;
import java.util.List;

public interface DoctorScheduleService extends IService<DoctorSchedule> {
    
    /**
     * 获取医生指定日期的排班
     */
    List<DoctorSchedule> getDoctorScheduleByDate(Long doctorId, LocalDate date);
    
    /**
     * 获取医生指定日期范围的排班
     */
    List<DoctorSchedule> getDoctorScheduleByDateRange(Long doctorId, LocalDate startDate, LocalDate endDate);
    
    /**
     * 获取指定日期所有可预约的排班
     */
    List<DoctorSchedule> getAvailableSchedulesByDate(LocalDate date);
    
    /**
     * 预订时间段
     */
    boolean bookTimeSlot(Long scheduleId);
    
    /**
     * 取消预订时间段
     */
    boolean cancelTimeSlot(Long scheduleId);
    
    /**
     * 检查时间段是否可预约
     */
    boolean isTimeSlotAvailable(Long scheduleId);
}